var rootPath=null;
var id=window.sessionStorage.getItem("id");
var name=window.sessionStorage.getItem("managername");
var state=null;
var updid=null;
$(document).ready(function() {
	rootPath=getRootPath();
	// 加载初始化数据
	$('.tree li:has(ul)').addClass('parent_li').find(' > span').attr('title', 'Collapse this branch');
    $('.tree li.parent_li > span').on('click', function (e) {
        var children = $(this).parent('li.parent_li').find(' > ul > li');
        if (children.is(":visible")) {
            children.hide('fast');
            $(this).attr('title', 'Expand this branch').find(' > i').addClass('icon-plus-sign').removeClass('icon-minus-sign');
        } else {
            children.show('fast');
            $(this).attr('title', 'Collapse this branch').find(' > i').addClass('icon-minus-sign').removeClass('icon-plus-sign');
        }
        e.stopPropagation();
    });
	to_page(1);
	role=[];
	$('#addM').on('click', function(){ 
		cleanTree();
		loadtree();
		state="add";
	});
	$('#save').on('click', function(){ 
		save();
	});
});
var role=[];//角色数组
var roleAll=[];
//删除数组指定值
function removeByValue(arr, val) {
  for(var i=0; i<arr.length; i++) {
    if(arr[i] == val) {
      arr.splice(i, 1);
      break;
    }
  }
}
//加载角色
function loadtree(){
	$.ajax({
		type:"post",
		url:rootPath+"selRole",
		async:true,
		success:function(menuM){
			$("#tree").empty();
			role=[];
			roleAll=[];
			for(var i=0;i<menuM.length;i++){
				var namespan=$("<span></span>").append("<input type='checkbox' id="+menuM[i].href+">").append(menuM[i].text);
				var roleli = $("<li></li>").append(namespan);
				$('#tree').append(roleli);
				roleAll.push(menuM[i].href);
			}
		}
	});
};

//模态框内容
function cleanTree(){
	$('#myModal').on('hidden.bs.modal', function (e) {
		$("#username").val("");
		$("#password").val("");
		role=[];
	});
}
//保存管理员
function save(){
	role=[];
	var username=$("#username").val();
	var password=hex_md5($("#password").val());
	for (var i=0;i<roleAll.length;i++) {
		var rid=$('#'+roleAll[i]).attr('id');
		if($('#'+roleAll[i]).is(':checked')) {
			role.push(rid);
		}else{
			removeByValue(role, rid);
		}
	}
	if (username==null||username=="") {
	}else if (password==null|password=="") {
	}else{
		if (state=="add") {
			$.ajax({
				url:rootPath+"addMana?managername="+username+"&password="+password+"&roleid="+role,
				type:"get",
				success:function(msg){
					$('#myModal').modal('hide');
					to_page(1);
					role=[];
				}
			});
			role=[];
		} else if(state=="upd"){
			$.ajax({
				url:rootPath+"updMana?managerid="+updid+"&managername="+username+"&password="+password+"&roleid="+role,
				type:"get",
				success:function(msg){
					$('#myModal').modal('hide');
					to_page(1);
					role=[];
				}
			});
			role=[];
		}
	}
	role=[];
	cleanTree();
};

//加载分页信息
function to_page(pn) {
	$.ajax({
		url : rootPath+"selAllMana",
		data : "pn=" + pn,
		type : "GET",
		success : function(result) {
			// console.log(result);
			// 1、解析并显示数据
			build_page_info(result);
			build_stu_table(result);
			// 3、解析显示分页条数据
			build_page_nav(result);
		}
	});
};
//解析信息插入表格
function build_stu_table(result) {
	// 清空table表格
	$("#tabM tbody").empty();
	var manager = result.extend.pageInfo.list;
	$.each(manager, function(index, item) {
		var managernameTd = $("<td></td>").append(item.managername);
//		var passwordTd = $("<td></td>").append(item.password);
		var delBtn = $("<button></button>").addClass(
				"btn btn-danger btn-sm delete_btn").append(
				$("<span></span>").addClass("glyphicon glyphicon-trash"))
				.append("&nbsp;删除");
		var updBtn = $("<button></button>").addClass(
				"btn btn-info btn-sm update_btn").append(
				$("<span></span>").addClass("glyphicon glyphicon-pencil"))
				.append("&nbsp;修改");
		// 为删除按钮添加自定义属性，ID
		delBtn.attr("del-id", item.id);
		updBtn.attr("upd-id", item.id);
		updBtn.attr("data-toggle", "modal");
		updBtn.attr("data-target", "#myModal");
		var doTd = $("<td></td>").append(updBtn,delBtn);
		// append执行完成后返回原来的元素
		$("<tr></tr>").append(managernameTd)/*.append(passwordTd)*/.append(doTd).appendTo("#tabM tbody");
	});
};

// 删除按钮
$(document).on("click", ".delete_btn", function() {
	var name = $(this).parents("tr").find("td:eq(0)").text();
	var id = $(this).attr("del-id");
	if (confirm("确认删除【" + name + "】吗？")) {
		$.ajax({
			url : rootPath+"delMana?managerid="+id,
			type : "DELETE",
			success : function(result) {
				alert(result.msg);
				// 回到本页
				to_page(currentPage);
			}
		});
	}
});
// 修改按钮
$(document).on("click", ".update_btn", function() {
	loadtree();
	state="upd";
	updid = $(this).attr("upd-id");
	$.ajax({
		type:"get",
		url:rootPath+"selManaA?managerid="+updid,
		async:true,
		success:function(msg){
			var name=msg.manager.managername;
			var pass=msg.manager.password;
			role=[];
			for (var i=0;i<msg.roles.length;i++) {
				role.push(msg.roles[i].roelid);
			}
			$("#username").val(name);
			$("#password").val(pass);
			for (var i=0;i<role.length;i++) {
				$('#'+role[i]).attr('checked',true);
			}
			role=[];
		}
	});
});
function find() {
	var ec = document.getElementById("name").value;
	if(ec==null||ec==""){
		to_page(1);
	}else{
		find_ec(ec);
	}
};
function find_ec(ec) {
	$.ajax({
		url : rootPath+"selMana",
		data : "managername=" + ec,
		type : "GET",
		success : function(result) {
			find_one(result);
		}
	});
};
function find_one(result) {
	$("#tabM tbody").empty();
	var managernameTd = $("<td></td>").append(result.managername);
	var passwordTd = $("<td></td>").append(result.password);
	var delBtn = $("<button></button>").addClass(
			"btn btn-danger btn-sm delete_btn").append(
			$("<span></span>").addClass("glyphicon glyphicon-trash"))
			.append("删除");
	var updBtn = $("<button></button>").addClass(
		"btn btn-info btn-sm update_btn").append(
		$("<span></span>").addClass("glyphicon glyphicon-pencil"))
		.append("&nbsp;修改");
	// 为删除按钮添加自定义属性，ID
	delBtn.attr("del-id", result.id);
	updBtn.attr("upd-id", result.id);
	var doTd = $("<td></td>").append(updBtn,delBtn);
	// append执行完成后返回原来的元素
	$("<tr></tr>").append(managernameTd).append(passwordTd).append(doTd).appendTo("#tabM tbody");
};

// 解析分页信息
function build_page_info(result) {
	totalRecord = result.extend.pageInfo.total;
	currentPage = result.extend.pageInfo.pageNum;
}
// 分页条
function build_page_nav(result) {
	// 清空分页条
	$("#page_nav_area").empty();
	// page_nav_area
	var ul = $("<ul></ul>").addClass("pagination");

	var firstPageLi = $("<li></li>").append(
			$("<a></a>").append("首页").attr("href", "#"));
	var prePageLi = $("<li></li>").append($("<a></a>").append("&laquo;"));
	// 判断是否有前一页，没有，就不能点击《disabled》
	if (result.extend.pageInfo.hasPreviousPage == false) {
		firstPageLi.addClass("disabled");
		prePageLi.addClass("disabled");
	} else {
		// 为元素添加点击翻页事件
		firstPageLi.click(function() {
			to_page(1);
		});
		prePageLi.click(function() {
			to_page(result.extend.pageInfo.pageNum - 1);
		});
	}

	var nextPageLi = $("<li></li>").append($("<a></a>").append("&raquo;"));
	var lastPageLi = $("<li></li>").append(
			$("<a></a>").append("末页").attr("href", "#"));
	// 判断是否有下一页，没有，就不能点击《disabled》
	if (result.extend.pageInfo.hasNextPage == false) {
		nextPageLi.addClass("disabled");
		lastPageLi.addClass("disabled");
	} else {
		// 为元素添加点击翻页事件

		nextPageLi.click(function() {
			to_page(result.extend.pageInfo.pageNum + 1);
		});
		lastPageLi.click(function() {
			to_page(result.extend.pageInfo.pages);
		});
	}

	// 添加首页和前一页 的提示
	ul.append(firstPageLi).append(prePageLi);
	// 1.2.3.4.5 遍历给ul中添加页码提示
	$.each(result.extend.pageInfo.navigatepageNums, function(index, item) {

		var numLi = $("<li></li>").append($("<a></a>").append(item));
		// 显示当前页
		if (result.extend.pageInfo.pageNum == item) {
			numLi.addClass("active");
		}
		// 绑定单机事件
		numLi.click(function() {
			to_page(item);
		});
		ul.append(numLi);
	});
	// 添加下一页和末页 的提示
	ul.append(nextPageLi).append(lastPageLi);

	// 把ul加入到nav
	var navEle = $("<nav></nav>").append(ul);
	navEle.appendTo("#page_nav_area");
}
